package com.github.base.service;

import cn.hutool.core.lang.tree.Tree;
import com.github.base.dto.permission.PermissionDTO;
import com.github.base.dto.permission.PermissionMoveDTO;
import com.github.base.utils.Result;
import com.github.base.vo.permission.PermissionVO;

import java.util.List;

public interface PermissionService {

    /**
     * 保存
     * @param dto
     */
    void save(PermissionDTO dto);

    /**
     * 根据id删除
     * @param id
     * @return
     */
    Result deleteById(Long id);

    /**
     * 修改
     * @param dto
     */
    void update(PermissionDTO dto);

    /**
     * 获取资源树
     * @return
     */
    Result<List<Tree<Long>>> getTree();

    /**
     * 移动拖拽
     * @param dto
     */
    void move(PermissionMoveDTO dto);

    /**
     * 获取当前人的资源
     * @return
     */
    List<PermissionVO> currentInfo();
}
